package org.csu.jpetstore.service;

import org.csu.jpetstore.bo.CartBO;
import org.csu.jpetstore.bo.CartItemBO;

public interface CartService {
    /**
     * 获取购物车
     *
     * @param username 用户名
     * @return CartBO
     * @author huangzhangyan
     * @date 2022/1/10 15:25
     */
    CartBO getCartByUsername(String username);

    /**
     * 设置购物车中 CartItem 数量 其中 CartItemBO 的 quantity >= 0 当大于0时选择更新数量 等于0时删除该CartItem
     *
     * @param username         用户名
     * @param cartItemBOUpdate 更新的CartItemBO数据
     * @author huangzhangyan
     * @date 2022/4/9 14:46
     */
    void setCartQuantity(String username, CartItemBO cartItemBOUpdate);

    void clearCartByUsername(String username);

    /**
     * 通过用户名和ItemId获取CartItem
     *
     * @param username 用户名
     * @param ItemId   itemId
     * @return CartItemBO
     * @author huangzhangyan
     * @date 2022/4/20 0:55
     */
    CartItemBO getCartItemBOByUsernameAndItemId(String username, String ItemId);
}
